#include "mypushbutton.h"
#include <QPropertyAnimation>


MyPushButton::MyPushButton(QString normalImg, QString pressImg){
    this->normalImgPath = normalImg;
    this->pressImgPath = pressImg;

    QPixmap pix;
    bool ret = pix.load((normalImg));
    if(!ret){
        qDebug("图片加载失败");
        return;
    }

    // 设置图片固定大小
    this->setFixedSize(pix.width(),pix.height());

    // 设置不规则图片样式
    this->setStyleSheet("QPushButton{border:0px;}");

    // 设置图标
    this->setIcon(pix);

    // 设置图标大小
    this->setIconSize(QSize(pix.width(),pix.height()));

}

void MyPushButton::ZoomDown(){
    // 创建动态对象
    QPropertyAnimation *animation = new QPropertyAnimation(this,"geometry");
    // 设置动画时间间隔
    animation->setDuration(200);

    // 起始位置
    animation->setStartValue(QRect(this->x(),this->y(),this->width(),this->height()));
    // 结束位置
    animation->setEndValue(QRect(this->x(),this->y()+10,this->width(),this->height()));

    // 设置弹跳曲线
    animation->setEasingCurve(QEasingCurve::OutBounce);

    // 执行动画
    animation->start();
}

void MyPushButton::ZoomUp(){
    QPropertyAnimation *Animation = new QPropertyAnimation(this,"geometry");
    Animation->setDuration(200);
    Animation->setStartValue(QRect(this->x(),this->y()+10,this->width(),this->height()));
    Animation->setEndValue(QRect(this->x(),this->y(),this->width(),this->height()));
    Animation->setEasingCurve(QEasingCurve::OutBounce);
    Animation->start();
}
